package gen.kaynak.navitrack.messageProcessState;

import gen.kaynak.navitrack.messageProcessStrategy.*;

public class Initial extends ACMessageProcessState {
	private static final Initial state = new Initial();

	private MessageProcessStrategyManager objCLLP;

	private Initial() {
	}

	public static ACMessageProcessState Instance() {
		return state;
	}

	@Override
	void ProcessWhiteSpace(char c, MessageProcessStateManager mpm) {
	}

	@Override
	void ProcessLetter(char c, MessageProcessStateManager mpm) {
		objCLLP = new MessageProcessStrategyManager(new NSEWProcessor());
		if (objCLLP.Process(c, mpm)) {
			ChangeState(mpm, NSEWDiscovered.Instance());
		}
	}

	@Override
	void ProcessPunctuation(char c, MessageProcessStateManager mpm) {
	}

	@Override
	void ProcessSymbol(char c, MessageProcessStateManager mpm) {
	}

	@Override
	void ProcessNumber(char c, MessageProcessStateManager mpm) {
	}

}
